home *** CD-ROM | disk | FTP | other *** search
/ AGA Toolkit '97 / The AGA Toolkit '97.iso / programming / asm / popt / popt.readme < prev    next >
Encoding:
Text File  |  1996-09-07  |  3.2 KB  |  62 lines

  1. Short:    A powerfull assembly source optimizer - v1.0b
  2. Uploader: devulder@info.unicaen.fr      (Samuel DEVULDER)
  3. Author:   devulder@info.unicaen.fr      (Samuel DEVULDER)
  4. Type:     dev/asm
  5.  
  6.                                    Popt
  7.                                    ----
  8.  
  9.         Popt is an  optimizer  of  assembly  sourcefile.  It  does  various
  10.     standard peephole optimizations by pattern-matching. It ranges  from  1
  11.     intruction lookahead to 3 and many more ! It makes more job than  usual
  12.     bluid-in assembler optimizer and uses data-flow analysis to find  which
  13.     register are used or not. With those  informations  it  is  capable  of
  14.     deleting intructions that are of no use and re-assigning  registers  to
  15.     produce a code of better quality/looking. It is specialy  powerfull  on
  16.     code produced by C-compilers (even those that optimize their code !).
  17.  
  18.     See popt.doc for further explanations.
  19.  
  20.     If you're a fan of benchmarks,  here is what Popt is  able to do to
  21.     the  well-known   "DHRYSTONE" Benchmark Program   (Reinhold P. Weicker,  
  22.     CACM Vol 27,  No 10, 10/84  pg. 1013) compiled with the  non-registered 
  23.     dcc version of DICE, by Matt DILLON:
  24.  
  25.     +=====================================================================+
  26.     |                      GVP A530 (68EC030@40Mhz)                       |
  27.     +=====================================================================+
  28.     |                                   | Dhrystones/sec | speed increase |
  29.     +-----------------------------------+----------------+----------------+
  30.     | no opt.             (dhr.a)       |      6846      |      ---       |
  31.     | opt. for 68000      (dhr000.a)    |      7899      |     +15.4%     |
  32.     | opt. for 68020/30   (dhr020.a)    |      8015      |     +17.1%     |
  33.     | opt. for 68020/30   (dhr020i.a) * |      8062      |     +17.8%     |
  34.     | opt. for 68040      (dhr040.a)    |      7830      |     +14.4%     |
  35.     | opt. for 68040      (dhr040i.a) * |      7837      |     +14.5%     |
  36.     +=====================================================================+
  37.     |                      Stock A500 (68000@7Mhz)                        |
  38.     +=====================================================================+
  39.     |                                   | Dhrystones/sec | speed increase |
  40.     +-----------------------------------+----------------+----------------+
  41.     | no opt.             (dhr.a)       |      775       |      ---       |
  42.     | opt. for 68000      (dhr000.a)    |      912       |     +17.7%     |
  43.     | opt. for 68020/30   (dhr020.a)    |      912       |     +17.7%     |
  44.     | opt. for 68040      (dhr040.a)    |      883       |     +13.9%     |
  45.     +-----------------------------------+----------------+----------------+
  46.  
  47.     You can find the source code of those programs  (dhr.a, dh0?0.a) to
  48.     have a look to the quality of the optimisation. The source is dhr.a and
  49.     the destinations are dhr0?0.a.
  50.  
  51.     This version is a beta version. Little testing has been done. It is
  52.     rather experimantal.  Use it at your own risks.  Please  feel  free  to 
  53.     report any bugs or comments to me.
  54.  
  55.         Happy optimizations !
  56.  
  57.                 Sam.
  58.  
  59. _________________
  60. * The star indicates that the code uses special 68020+ instructions or
  61.   addressing modes.
  62.